package com.brainhealth.customer.service;

import java.util.List;
import com.brainhealth.customer.domain.SysUserOrderBuriedPointResult;
import com.brainhealth.customer.domain.UserEventBuriedPointQueryParam;
import com.brainhealth.customer.domain.vo.*;

/**
 * 用户订单埋点结果Service接口
 * 
 * @author ruoyi
 * @date 2023-08-05
 */
public interface ISysUserOrderBuriedPointResultService 
{
    /**
     * 获取用户在线时长汇总(状态)
     * @param userEventBuriedPointQueryParam
     * @return
     */
    public UserOnlineTimeStatusVO getUserOnlineTimeSumStatus(UserEventBuriedPointQueryParam userEventBuriedPointQueryParam);

    /**
     * 获取用户在线时长(状态)
     * @param userEventBuriedPointQueryParam
     * @return
     */
    public List<UserOnlineTimeStatusDetail> getUserOnlineTimeStatus(UserEventBuriedPointQueryParam userEventBuriedPointQueryParam);

    /**
     * 获取用户在线频次汇总(状态)
     * @param userEventBuriedPointQueryParam
     * @return
     */
    public UserOnlineFrequencyStatusVO getUserFrequencyTimeSumStatus(UserEventBuriedPointQueryParam userEventBuriedPointQueryParam);

    /**
     * 获取用户在线频次(状态)
     * @param userEventBuriedPointQueryParam
     * @return
     */
    public List<UserOnlineFrequencyStatusDetail> getUserFrequencyTimeStatus(UserEventBuriedPointQueryParam userEventBuriedPointQueryParam);

    /**
     * 查询用户订单埋点结果
     * 
     * @param id 用户订单埋点结果主键
     * @return 用户订单埋点结果
     */
    public SysUserOrderBuriedPointResult selectSysUserOrderBuriedPointResultById(Long id);

    /**
     * 查询用户订单埋点结果列表
     * 
     * @param sysUserOrderBuriedPointResult 用户订单埋点结果
     * @return 用户订单埋点结果集合
     */
    public List<SysUserOrderBuriedPointResult> selectSysUserOrderBuriedPointResultList(SysUserOrderBuriedPointResult sysUserOrderBuriedPointResult);

    /**
     * 新增用户订单埋点结果
     * 
     * @param sysUserOrderBuriedPointResult 用户订单埋点结果
     * @return 结果
     */
    public int insertSysUserOrderBuriedPointResult(SysUserOrderBuriedPointResult sysUserOrderBuriedPointResult);

    /**
     * 批量新增用户订单埋点结果
     * @param sysUserOrderBuriedPointResultList
     * @return
     */
    public int batchInsertSysUserOrderBuriedPointResult(List<SysUserOrderBuriedPointResult> sysUserOrderBuriedPointResultList);

    /**
     * 修改用户订单埋点结果
     * 
     * @param sysUserOrderBuriedPointResult 用户订单埋点结果
     * @return 结果
     */
    public int updateSysUserOrderBuriedPointResult(SysUserOrderBuriedPointResult sysUserOrderBuriedPointResult);

    /**
     * 批量删除用户订单埋点结果
     * 
     * @param ids 需要删除的用户订单埋点结果主键集合
     * @return 结果
     */
    public int deleteSysUserOrderBuriedPointResultByIds(Long[] ids);

    /**
     * 删除用户订单埋点结果信息
     * 
     * @param id 用户订单埋点结果主键
     * @return 结果
     */
    public int deleteSysUserOrderBuriedPointResultById(Long id);
}
